Service providers comprise a substantial portion of the nation's economy. Most service providers perform specific jobs that are common to a specific type of business. For example, an automobile repair business might do a wide range of automotive diagnostic and repair jobs, each job including a plurality of tasks that are carried out using various resources. For example, a job referred to as “disk brake pad replacement” requires that a series of tasks be done, including: positioning a vehicle on a hydraulic hoist, removing the wheels to access the brake rotors and brake pads, removal of the brake pad assembly on each wheel, removing and turning the brake rotors (machining the rotors) to eliminate surface blemishes, remounting the brake rotors on each wheel, replacing the worn brake pads with new brake pads on each wheel, final inspection, and removing the vehicle from the hoist. To carry out this job, several mechanical resources are required. Specifically, a hydraulic hoist must be provided to lift the vehicle, and a brake rotor turning machine must be available to turn each brake rotor. In addition, personnel are required to carryout out each task included in the job. Although one or more mechanics at a business might be able to do all of these tasks, it is also likely that different people might be involved in doing the job. In this example, perhaps only one mechanic out of the four employed by the automotive repair business is skilled in running the brake rotor turning machine, although three other mechanics can do all of the other tasks required for this job.
When a prospective customer schedules an appointment to bring a vehicle into the automotive repair business to have the vehicle's brake pads replaced, it is important that the customer be advised of the next available appointment, or offered alternative times to make an appointment that satisfies the requirements of the customer and does not conflict with the appointments already made that will require one or more of the same resources. A manager at the automotive repair business who schedules appointments to do a job must consider the total time required to complete each job, and the availability of physical and personnel resources required to do the job, in view of other appointments that have already been made. The problem becomes even more complex as appointments to do other jobs must be scheduled.
It will be apparent that allocating various physical and personnel resources among available times when each different job might be carried out most efficiently can result in many different combinations and can be a daunting task to perform manually. At best, manual techniques for blocking out appointments on a schedule grid are inefficient and may overlook conflicts in the scheduling of necessary resources between different jobs. As the number of jobs, tasks required per job, resources, time constraints, and the range of available times to do jobs increases, the problem becomes increasingly more complex. Clearly, a computer program that can automatically schedule appointments to make efficient use of resources would be very valuable. It would also be preferable to enable the scheduling of appointments by customers, without requiring the intervention by business personnel, e.g., over the Internet. A customer might be presented with an option of choosing from available times to have a job done on a specific day. Alternatively, the business might make use of such a computer program running as a Web application to schedule appointments in response to requests by customers who walk in or call in for an appointment. Access to the computer program for scheduling an appointment at a business should preferably be through almost any type of computing device or network access device, including a personal data assistant (PDA), an Internet accessible cell phone, or other type of communication or computing device that can couple to a network. The scheduling program should also be capable of handling changes in scheduling, such as the insertion of new jobs, changes in appointment times, and the cancellation of appointments, in a manner that provides efficient utilization of physical and personnel resources. Currently, there does not appear to be any program that can provide all of these functions in an automated and efficient manner.